package com.pureut.scheduling.mapper;

import com.pureut.scheduling.domain.SchedulingWeight;
import com.pureut.scheduling.domain.SchedulingWeightInclude;
import com.pureut.scheduling.domain.dto.SchedulingPlanDto;
import com.pureut.scheduling.domain.vo.SchedulingWeightVo;
import com.pureut.scheduling.domain.vo.SchedulingWillVo;

import java.util.List;

/**
 * @Description
 * @Param
 * @Date
 * @Author hl
 **/
public interface SchedulingWillMapper {

    /**
     * 查询排产条件
     */
    List<SchedulingPlanDto> selectWillList(SchedulingWillVo schedulingWillVo);

    /**
     * 修改排产条件排序
     */
    int updateSchedulingWillSort(SchedulingWillVo schedulingWillVo);

    /**
     * 查询配比信息
     * @param schedulingWeightVo
     * @return
     */
    List<SchedulingWeight> selectWeightList(SchedulingWeightVo schedulingWeightVo);

    /**
     * 根据配比id查询详情
     * @param weightId
     * @return
     */
    SchedulingWeight selectWeightById(long weightId);

    /**
     * 新增配比信息
     * @param schedulingWeightVo
     * @return
     */
    int insertWeight(SchedulingWeightVo schedulingWeightVo);

    /**
     * 修改配比信息
     * @param schedulingWeightVo
     * @return
     */
    int updateWeight(SchedulingWeightVo schedulingWeightVo);

    /**
     * 批量删除配比信息
     */
    int deleteWeightByIds(String[] weightIdS);

    /**
     * 排序变换(上)
     */
    int updateSchedulingSortOn(SchedulingWillVo schedulingWillVo);

    /**
     * 排序变换(下)
     */
    int updateSchedulingSortUnderThe(SchedulingWillVo schedulingWillVo);

    /**
     * 新增线别
     */
    int insertWeightLine(List<SchedulingWeightInclude> list);

    /**
     * 删除线别
     */
    int delSchedulingWill(long weightId);

    /**
     * 查询对应线别
     */
    List<SchedulingWeightInclude> selectWeightLine(long weightId);
}
